package eu.jakubiak.dto.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import eu.jakubiak.dto.enums.DtoPolicyType;

/**
 * Konfiguracja Data Transfer Obiekt dla klasu Java Bean
 * 
 * Domyślnie, wszystkie klasy moga być używane jako DTO
 *
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DataTransferObject {
	
	/**
	 * Sposób działania DTO
	 * Domyślnie, wszystkie pola którym nie zabronilismy będę przekazywane
	 * do obiektu DTO
	 * 
	 * @return
	 */
	DtoPolicyType value() default DtoPolicyType.IMPLICIT;

}
